<template>
    <div id="tmpl">
        <!-- 1.0 实现图片详情和缩略图-->
        <div id="desc">
            <!-- 1.0 详情-->
            <div class="title">
                <h4>{{photoinfo.title}}</h4>
                <p>
                    {{photoinfo.add_time | datefmt('YYYY-MM-DD HH:mm:ss')}}  {{photoinfo.click}}次浏览
                </p>
                <p class="line"></p>
            </div>
            <!-- 2.0 缩略图-->
            <div class="mui-content">
                <ul class="mui-table-view mui-grid-view mui-grid-9">
                    <li v-for="(item, index) in list" class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                        <img class="preview-img"  :src="item.src" height="100" @click="$preview.open(index, list)">
                    </li>
                </ul>
            </div>

            <!-- 摘要部分-->
            <p v-html="photoinfo.content"></p>
        </div>
        <!-- 2.0 集成评论组件-->
        <div id="comment">
            <comment :id="id"></comment>
        </div>
    </div>
</template>

<script>
    //  导入评论组件
    import comment from '../subcom/comment.vue';
    import common from '../../kits/common.js';
    import { Toast } from 'mint-ui';
    export default{
        components:{
            comment //注册评论组件
        },
        data(){
            return {
                id:0, //图片的id
                photoinfo:{}, //图片详情描述数据对象
                list:[] //存储缩略图的数据
            }
        },
        created(){
            this.id = this.$route.params.id;
            this.getinfo();
            this.getimgs();
        },
        methods:{
            getinfo(){
                var url = common.apidomain + '/api/getimageInfo/' + this.id;
                this.$http.get(url).then(function(res){
                    if(res.body.status != 0) {
                        Toast(res.body.message);
                        return;
                    }
                    this.photoinfo = res.body.message[0];
                });
            },
            // 获取缩略图数据
            getimgs(){
                var url = common.apidomain + '/api/getthumimages/' + this.id;

                this.$http.get(url).then(function(res){
                    if(res.body.status != 0) {
                        Toast(res.body.message);
                        return;
                    }
                    // 由于vue-preview要求的数据时{src;w;h;}但是服务器响应回来的数据是没有宽和高的
                    res.body.message.forEach(function(item){
                        // 当前所有图片不管有多大，都设置为宽高400，会导致图片失真，所以应该按照图片的实际尺寸
                        var img = document.createElement('img');
                        img.src = item.src;
                        img.onload = function(){
                            item.h = img.height;
                            item.w = img.width;;
                        };
                    });
                    this.list = res.body.message;
                });
            }
        }
    }
</script>

<style scoped>
    /*图片详情*/
    #desc {
        padding: 10px;
    }
    #desc .title h4 {
        color: #0094ff;
    }
    #desc .title p {
        color: rgba(0,0,0,0.4);
        margin-top: 10px;
    }
    #desc .title .line {
        width: 100%;
        height: 1px;
        background-color: rgba(0, 0, 0, 0.4);
    }
    .mui-content, .mui-content ul {
        background-color:#fff;
    }
    .mui-grid-view.mui-grid-9 .mui-table-view-cell {
        border-right:0px;
        border-bottom:0px;
    }
    .mui-grid-view.mui-grid-9 {
        border-top:0px;
        border-left:0px;
    }
    /*缩略图样式*/
    .mui-content img {
        width: 100px;
        height: 100px;
    }
</style>